---
title: 'Airtable'
sidebarTitle: 'Airtable'
description: 'Access the Airtable API in 2 minutes 💨'
---

import { StatusWidget } from "/snippets/api-down-watch/status-widget.jsx"

<StatusWidget service="airtable" />

<Tabs>
  <Tab title="🚀 Quickstart">
    <Steps>
      <Step title="Create an integration">
        In Nango ([free signup](https://app.nango.dev)), go to [Integrations](https://app.nango.dev/dev/integrations) -> _Configure New Integration_ -> _Airtable_.
      </Step>
      <Step title="Authorize Airtable">
        Go to [Connections](https://app.nango.dev/dev/connections) -> _Add Test Connection_ -> _Authorize_, then log in to Airtable. Later, you'll let your users do the same directly from your app.
      </Step>
      <Step title="Call the Airtable API">
        Let's make your first request to the Airtable API (fetch records from a table). Replace the placeholders below with your [secret key](https://app.nango.dev/dev/environment-settings), [integration ID](https://app.nango.dev/dev/integrations), and [connection ID](https://app.nango.dev/dev/connections):
        <Tabs>
            <Tab title="cURL">

                ```bash
                curl "https://api.nango.dev/proxy/v0/meta/bases" \
                  -H "Authorization: Bearer <NANGO-SECRET-KEY>" \
                  -H "Provider-Config-Key: <INTEGRATION-ID>" \
                  -H "Connection-Id: <CONNECTION-ID>"
                ```

            </Tab>

            <Tab title="Node">

            Install Nango's backend SDK with `npm i @nangohq/node`. Then run:

            ```typescript
            import { Nango } from '@nangohq/node';

            const nango = new Nango({ secretKey: '<NANGO-SECRET-KEY>' });

            const res = await nango.get({
                endpoint: '/v0/meta/bases',
                providerConfigKey: '<INTEGRATION-ID>',
                connectionId: '<CONNECTION-ID>'
            });

            console.log(res.data);
            ```
            </Tab>

        </Tabs>

        Or fetch credentials dynamically via the [Node SDK](/reference/sdks/node#get-a-connection-with-credentials) or [API](/reference/api/connection/get).

      </Step>
    </Steps>

    ✅ You're connected! Check the [Logs](https://app.nango.dev/dev/logs) tab in Nango to inspect requests.

    <Tip>
    Next step: [Embed the auth flow](/getting-started/quickstart/embed-in-your-app) in your app to let your users connect their Airtable accounts.
    </Tip>
  </Tab>
  <Tab title="🧑‍💻 OAuth app setup">
    <Steps>
      <Step title="Create an Airtable account">
        If you don't already have one, sign up for an [Airtable account](https://airtable.com/signup).
      </Step>
      <Step title="Register a new OAuth integration">
        1. Go to the [OAuth integrations panel](https://airtable.com/create/oauth) in your Airtable account.
        2. Click **Register new OAuth integration**.
        3. Enter a unique name for your integration.
        4. Add `https://api.nango.dev/oauth/callback` as your OAuth redirect URI.
        5. Click **Register integration**.
      </Step>
      <Step title="Configure OAuth scopes and details">
        1. Select the [scopes](https://airtable.com/developers/web/api/scopes) your application requires.
        2. Add optional details like tagline, homepage URL, and logo.
        3. For public integrations, add required fields: support email, privacy policy URL, and terms of service URL.
        4. Click **Save changes**.
      </Step>
      <Step title="Generate credentials">
        1. Click **Generate client secret** and confirm the action.
        2. Copy the **Client Secret** (you'll only see it once).
        3. Note your **Client ID** from the integration management page.
        4. You'll need both when configuring your integration in Nango.
      </Step>
      <Step title="Next">
        Follow the [_Quickstart_](/getting-started/quickstart).
      </Step>
    </Steps>
     ## Common Scopes
    | Scope | Description |
    | ----- | ----------- |
    | `data.records:read` | Read records from bases. |
    | `data.records:write` | Create, update, and delete records. |
    | `schema.bases:read` | Read base schema (table/field names and types). |
    | `data.recordComments:read` | Read comments on records. |
    | `data.recordComments:write` | Create and delete record comments. |
    | `user.email:read` | Read the email of the authenticated user. |
    | `workspacesAndBases:read` | List the user's workspaces and bases to select from. |

  </Tab>
  <Tab title="🔗 Useful links">
    | Topic | Links |
    | - | - |
    | General | [Airtable Website](https://airtable.com/) |
    | | [Create an Airtable account](https://airtable.com/signup) |
    | | [OAuth Integrations Panel](https://airtable.com/create/oauth) |
    | Developer | [Web API Documentation](https://airtable.com/developers/web/api/introduction) |
    | | [OAuth Reference](https://airtable.com/developers/web/api/oauth-reference) |
    | | [OAuth Integrations Guide](https://airtable.com/developers/web/guides/oauth-integrations) |
    | | [OAuth Scopes](https://airtable.com/developers/web/api/scopes) |
    | | [Authentication Reference](https://airtable.com/developers/web/api/authentication) |
    | | [Rate Limits](https://airtable.com/developers/web/api/rate-limits) |
    | | [SCIM API Documentation](https://airtable.com/developers/web/api/scim-overview) |
    | | [Example OAuth Setup Repository](https://github.com/Airtable/oauth-example) |

    <Note>Contribute useful links by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/airtable.mdx)</Note>
  </Tab>
  <Tab title="🚨 API gotchas">
    - During the OAuth flow, users can decide which resources (Bases) your app should have access to. This means your app might not have access to all bases in their workspace.
    - Airtable requires specific scopes for different operations. Make sure to request all necessary scopes during OAuth setup.
    - Rate limits apply per workspace, not per integration, so high-volume usage might affect other integrations in the same workspace.

    <Note>Contribute API gotchas by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/airtable.mdx)</Note>
  </Tab>
</Tabs>

<Info>
    Questions? Join us in the [Slack community](https://nango.dev/slack).
</Info>
